package com.example.excelapache_poi.apache_poi操作excel;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.util.CellRangeAddress;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * Created by IntelliJ IDEA2022.3.2
 * @Author: Tenghw
 * @Date: 2023/07/02  13:32
 * @Description: Excel表单元格控制 —— 合并单元格
 */
public class Demo3 {
    public static void main(String[] args) throws IOException {
        // 1.文件路径
        String filePath = "E:\\exceldemo\\Demo3.xls";
        // 2.创建Excel文件（Workbook）
        HSSFWorkbook workbook = new HSSFWorkbook();
        // 3.创建工作表（Sheet）
        HSSFSheet sheet = workbook.createSheet("Sheet3");
        // 4.创建行（Row），从0开始
        HSSFRow row = sheet.createRow(0);

        // 5.创建行的单元格（Cell，即列），也是从0开始
        // 合并列(演示合并第一行的第1~6列)
        HSSFCell cell = row.createCell(0);
        cell.setCellValue("合并列");
        CellRangeAddress region = new CellRangeAddress(0, 0, 0, 5);
        sheet.addMergedRegion(region);

        // 6.合并行(演示合并第第1~6行的第7列)
        cell = row.createCell(6);
        cell.setCellValue("合并行");
        region= new CellRangeAddress(0, 5, 6, 6);
        sheet.addMergedRegion(region);

        // 7.文件输出流
        FileOutputStream out = new FileOutputStream(filePath);
        // 保存到Excel文件中
        workbook.write(out);

        // 8.关闭流
        out.flush();
        out.close();
        workbook.close();
        System.out.println("合并单元格OK！");
    }
}
